1. Field of the Invention
The present invention generally relates to computing systems. More particularly, the present invention provides methods and apparatus for efficiently accessing data in those systems where the data is sequential data such as in, for xample, any mass media (such as TV or radio) broadcasting medium.
2. Description of the Related Art
In systems where data is only available in a sequential manner, such as in a conventional mass media broadcasting system as TV, radio, etc., a broadcaster sequentially transmits data in the form of audio, video, data, etc. over a medium such as air, cable, phone line (DSL, for example) that can be received by any number of receivers. For example, transmitted radio waves can be received with a radio receiver tuned to a particular transmission channel. Conventional broadcast communication is typically a sequential type communication medium since the receiver does not having control over the content of or the arrival time of broadcast data files.
To facilitate discussion, FIG. 1 illustrates a T.V broadcast system 100 that includes a T.V broadcaster 102 and a T.V receiver 104. The T.V receiver 104 can be an analog or a digital T.V receiver suitable for reception of voice, video, and data transmitted by the T.V broadcaster 102. In a broadcast system, data can be transmitted in a cyclical manner conceptualized in the art as a xe2x80x9cdata carouselxe2x80x9d 106. As used herein, a data carousel refers to a mechanism for cyclic transmission of data modules, for example, as defined by MPEG-2 Digital Storage Medium Command and control (DSM-CC of ISO/IEC 138118-6) User-to-Network Download Protocol. To elaborate, the carrousel 106 illustrates cyclical transmission of data in the broadcast system 100. Data on the carrousel 106 can include data segments A, B, C, and D. Each data segment, such as data segment A, can consist of individual data files X1 through X4. In this manner data portions A, B, C, and D are sequentially transmitted as the carrousel 106 rotates clockwise in such a manner that a particular data file is re-transmitted when carrousel 106 completes its rotation with respect to an associated point of transmission. For example, the data file X1, will be re-transmitted every time the associated reference point 108 undergoes a full rotation. In this way, each of the data files on the carrousel 106 is cyclically re-transmitted every T seconds, where T is the time it takes for carrousel 106 to make a complete rotation with respect to the point of transmission 108, also referred to as the carousel""s period.
Unfortunately, however, due to the cyclical nature of the carrousel type broadcasting system, the T.V broadcast system 100 has an inherent delay associated with the re-transmission of data. To elaborate, at a time t1 when a vertical bar 110 is aligned with the point of transmission 108, the T.V broadcaster 102 will start transmitting the data file X1. The transmission of data file X1 will complete at a subsequent time t2 when transmission of data file X2 is initiated. If the T.V receiver 104 requires data file X1 some time after transmission of data file X1, the T.V receiver 104 must wait until file X1 is re-transmitted which could be at most at a time T later. For example, it data file X1 is required by the receiver 104 at a time t2 (which for this example happens to be shortly after transmission of file X1 has completed) a potentially long delay will be encountered before file X1 is re-transmitted. This delay can be almost as long as the time T required to complete a full transmission cycle which can be on the orders of seconds or even minutes.
Thus, cyclical retransmission of data can result in long delays between the time data is requested (or needed) and the time data is received and accessed. With carrousels typically having hundreds of megabytes of data, the periodic nature of the data carrousel arrangement could potentially result in delays of up to several seconds in accessing required data. This potential delay is exacerbated in those situations where the broadcast medium includes low bandwidth links, such as the Internet. Even though this delay may not be very significant in non-interactive situations, it can be especially problematic for interactive applications such as interactive T.V, such as WEB TV(trademark), where it is highly desirable to provide a user with requested information on demand.
In view of foregoing, there is a need for a consistent, interoperable collection of object interfaces that also scale across diverse clients and platforms.
Broadly speaking, the invention relates to an improved methods and apparatus for efficiently accessing sequentially broadcast data in a multi-platform environment. The invention can be implemented in numerous ways, including as a method, a computer system, and an apparatus. Several embodiments of the invention are discussed below.
In one embodiment, a method of efficiently accessing a sequentially broadcast data file is disclosed. A client class is constructed and if the data file is loaded, then execution is blocked by the client which then requests the data file. If the data file is not in a cache memory, then a file request is issued to a carousel system and if the data file is available to the carousel system, then the requested data file is returned to the requesting client.
In other embodiments, an apparatus and computer program product for efficiently accessing a sequentially broadcast data file are disclosed.